home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-11-04 | 2.4 KB | 76 lines |
- 10 DIM NA$(3),S(3),T(3):COLOR 3,0,0
- 20 WIDTH 40:KEY OFF:LOCATE 1,1,0:CLS:DEF SEG=0:POKE 1047,64
- 30 LOCATE 8,12:PRINT "BOWLING CHAMP!!"
- 40 LOCATE 13,7:PRINT "How many bowlers? (1-4):"
- 50 A$="":WHILE A$="":A$=INKEY$:WEND
- 60 IF ASC(A$)<49 OR ASC(A$)>52 THEN 50 ELSE A=VAL(A$)
- 70 FOR I=1 TO A:LOCATE 15+I,8:PRINT "Bowler";I;
- 80 LOCATE ,16:PRINT "'s name:";
- 90 INPUT A$:NA$(I-1)=LEFT$(A$,8):NEXT
- 95 CLS:LOCATE 13,7:PRINT "Difficulty level (0-60).":LOCATE 14,7:PRINT "60=extremely easy ; 0=impossible"
- 100 LOCATE 16,9:INPUT DIFLVL
- 110 CLS:COLOR 15:LOCATE 1,10:PRINT "1 2 3 4 5 6 7 8 9 10"
- 120 LOCATE 2,10:FOR J=1 TO 31:PRINT CHR$(196);:NEXT
- 130 FOR I=1 TO A:LOCATE 2*I+1,1:COLOR I+1:PRINT NA$(I-1);:LOCATE,12
- 140 COLOR 15:FOR J=12 TO 36 STEP 3:PRINT CHR$(179)+" ";:NEXT
- 150 LOCATE 2*I+2,10:FOR J=1 TO 31:PRINT CHR$(196);:NEXT :NEXT
- 160 LOCATE 12,1:FOR I=0 TO A-1:IF I=2 THEN LOCATE 14,1
- 170 COLOR I+2:PRINT NA$(I);":";SPC(19-LEN(NA$(I)));:NEXT :COLOR 15
- 180 LOCATE 15,1:FOR I=1 TO 39:PRINT CHR$(196);:NEXT
- 190 LOCATE 25,1:FOR I=1 TO 39:PRINT CHR$(196);:NEXT
- 210 FOR I=0 TO A-1:S(I)=1:NEXT
- 230 FOR Q=1 TO 10:FOR Z9=0 TO A-1
- 240 COLOR,Z9+2:FOR I=16 TO 24:LOCATE I,1:PRINT SPC(39):NEXT
- 250 B1=0:GOSUB 390
- 260 IF J1<> 10 THEN B1=1:GOSUB 430
- 270 IF Q=10 THEN ON S GOTO 280,310,310,280,340
- 280 NEXT :NEXT :LOCATE 16,10:PRINT"Play again? (y/n):"
- 290 A$="":WHILE A$="":A$=INKEY$:WEND:IF A$="Y"THEN RUN ELSE COLOR 7,0:RUN "MENU1"
- 310 LOCATE 20,1:PRINT "Take two more balls, ";NA$(Z9);
- 320 FOR I=1 TO 2000:NEXT :LOCATE ,1:PRINT SPC(29)
- 330 S(Z9)=S-1:B1=1:GOSUB 390:IF J<>10 THEN 370 ELSE 360
- 340 LOCATE 20,1:PRINT "Take one more ball, ";NA$(Z9);
- 350 FOR I=1 TO 2200:NEXT :LOCATE ,1:PRINT SPC(28)
- 360 S(Z9)=1:B1=2:GOSUB 390:GOTO 280
- 370 S(Z9)=1:B1=2:GOSUB 430:GOTO 280
- 390 COLOR 15:LOCATE 17,39
- 400 FOR I=1 TO 31:READ PC:PRINT CHR$(PC);:NEXT :RESTORE
- 410 PS=1=1:J1=0:GOTO 440
- 430 PS=0
- 440 GOSUB 500:T=T(Z9):S=S(Z9):T=T+J
- 450 ON S(Z9) GOSUB 680,700,720,740,760
- 460 T(Z9)=T:S(Z9)=S:COLOR Z9+2,0
- 470 LOCATE 14+(Z9<2)*2,31+(Z9/2=INT(Z9/2))*20:PRINT T(Z9)
- 480 COLOR 0,Z9+2:RETURN
- 500 H=1:V=24:D=-1:COLOR 0,Z9+2
- 510 WHILE INKEY$="":LOCATE V,H:PRINT " ";
- 520 V=V+D:LOCATE V,H:PRINT "O";
- 530 FOR I=1 TO DIFLVL:NEXT :IF V=24 OR V=16 THEN D=-D
- 540 WEND:FOR H=2 TO 35:LOCATE V,H-1:PRINT" O";:A$=INKEY$
- 545 IF A$="]" THEN WHILE INKEY$="":WEND
- 550 SOUND 37,0.5:SOUND 32767,0.1:NEXT
- 560 J=0:WHILE H<40
- 570 IF SCREEN(V,H)=234 THEN J=J+1 ELSE 610
- 580 FOR D=-1 TO 1 STEP 2:X1=V:X2=H
- 590 X1=X1+D:X2=X2+1:IF SCREEN (X1,X2)=234 THEN LOCATE X1,X2:PRINT " ";:J=J+1:SOUND 74,0.5: SOUND 32767,0.1:GOTO 590
- 600 NEXT
- 610 LOCATE V,H-1:PRINT " O";:H=H+1:WEND
- 620 J1=J1+J
- 630 LOCATE 2*Z9+3,7+3*Q+B1:COLOR -(2+Z9)*(B1=0),-(2+Z9)*(B1<>0):G=J+48
- 640 IF J1=10 THEN IF PS THEN G=88 ELSE G=47
- 650 PRINT CHR$(G):COLOR 0,2+Z9
- 660 LOCATE V,H-1:PRINT " ";:RETURN
- 680 IF J1=10 THEN IF PS THEN S=2 ELSE S=5
- 690 RETURN
- 700 T=T+J:IF J=10 THEN S=3 ELSE S=4
- 710 RETURN
- 720 T=T+J*2:IF J<>10 THEN S=4
- 730 RETURN
- 740 T=T+J:IF J1=10 THEN S=5 ELSE S=1
- 750 RETURN
- 760 T=T+J:IF J=10 THEN S=2 ELSE S=1
- 770 RETURN
- 1001 DATA 234,31,29,29,234,31,29,29,234,28
- 1002 DATA 234,31,29,29,29,29,234,28,234,31
- 1003 DATA 29,29,234,28,234,31,29,29,234,31,234
-